package com.qst.rongxiaoserver.common;

import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

// 统一返回结果类
@NoArgsConstructor
@AllArgsConstructor
@Data   // 添加 getter、setter 方法
public class Result<T> {
        // 状态码
        private Integer code;
        // 提示信息
        private String msg;
        // 数据
        private T data;

        // success 静态方法  -》 Result.success("ok")
        public static <T> Result<T> success(T data){
             Result<T> res = new Result<>();
                res.setCode(1);
                res.setMsg("成功");
                res.setData(data); // 返回的数据
            return res;
        }

    public static <T> Result<T> success(T data, String msg){
        Result<T> res = new Result<>();
        res.setCode(1);
        res.setMsg(msg);
        res.setData(data); // 返回的数据
        return res;
    }

        public static <T> Result<T> fail(String msg){
            Result<T> res = new Result<>();
            res.setCode(0);
            res.setMsg(msg);
//            data默认是null
            return res;
        }

    public static <T> Result<T> fail(String msg,T data){
        Result<T> res = new Result<>();
        res.setCode(0);
        res.setMsg(msg);
        res.setData(data);
        return res;
    }
}
